﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Modelo_ETdA.Negocio.Analise.Formato
{
    public class FormatoAvaliacaoProfissional : FormatoAvaliacao
    {
        private Dictionary<int, Questao> mapConsideracaoQuestao;

        public FormatoAvaliacaoProfissional(int codAmbC, string nome, DocumentoCabecalho doc_cabecalho)
            : base(codAmbC, nome, doc_cabecalho)
        {
            mapConsideracaoQuestao = new Dictionary<int, Questao>();
        }

        public FormatoAvaliacaoProfissional(int codAmbC, int codigoBD, string nome, DocumentoCabecalho doc_cabecalho)
            : base(codAmbC, codigoBD, nome, doc_cabecalho)
        {
            mapConsideracaoQuestao = new Dictionary<int, Questao>();
        }

        public FormatoAvaliacaoProfissional(int codAmbC, int codigoBD, string nome, DocumentoCabecalho doc_cabecalho, Dictionary<int, Questao> mapConQuest)
            : base(codAmbC, codigoBD, nome, doc_cabecalho)
        {
            mapConsideracaoQuestao = mapConQuest;
        }

        public void registMin(int escalaMax, int minResposta, float ponderacao, int codConsideracao)
        {
            mapConsideracaoQuestao.Add(codConsideracao, new Questao(1, escalaMax, minResposta, ponderacao, codConsideracao));
        }

        public override Questao getQuestao(int codQuestao)
        {
            Dictionary<int, Questao>.ValueCollection col_quest_pro = mapConsideracaoQuestao.Values;
            Questao ret = null;
            foreach (Questao q in col_quest_pro)
            {
                if ((q.getCod()) == codQuestao)
                {
                    ret = q;
                    break;
                }
            }
            return ret;
        }

        public Dictionary<int, Questao> MapConsideracaoQuestao
        {
            get { return mapConsideracaoQuestao; }
            set { mapConsideracaoQuestao = value; }
        }

    }
}
